home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 4_0 / FLEX-TC_ / MAKEFILE < prev    next >
Text File  |  1990-01-02  |  2KB  |  101 lines

  1. # make file for "flex" tool
  2.  
  3. # @(#) $Header: Makefile,v 2.3 89/06/20 17:27:12 vern Exp $ (LBL)
  4.  
  5. # Porting considerations:
  6. #
  7. #    For System V Unix machines, add -DSYS_V to CFLAGS.
  8. #    For Vax/VMS, add -DSYS_V to CFLAGS.
  9. #    For MS-DOS, add "-DMS_DOS -DSYS_V" to CFLAGS.  Create \tmp if not present.
  10. #         You will also want to rename flex.skel to something with a three
  11. #         character extension, change SKELETON_FILE below appropriately,
  12. #    For Amiga, add "-DAMIGA -DSYS_V" to CFLAGS.
  13. #
  14. # A long time ago, flex was successfully built using Microsoft C and
  15. # the following options: /AL, /stack:10000, -LARGE, -Ml, -Mt128, -DSYS_V
  16.  
  17.  
  18. # the first time around use "make first_flex"
  19.  
  20.  
  21. SKELETON_DIR = /usr/local/lib
  22. SKELETON_FILE = flex.skel
  23. SKELFLAGS = -DDEFAULT_SKELETON_FILE=\"$(SKELETON_DIR)/$(SKELETON_FILE)\"
  24. CFLAGS = -O
  25. LDFLAGS = -s
  26.  
  27. FLEX_FLAGS =
  28. FLEX = ./flex
  29. CC = cc
  30.  
  31. FLEXOBJS = \
  32.     ccl.o \
  33.     dfa.o \
  34.     ecs.o \
  35.     gen.o \
  36.     main.o \
  37.     misc.o \
  38.     nfa.o \
  39.     parse.o \
  40.     scan.o \
  41.     sym.o \
  42.     tblcmp.o \
  43.     yylex.o
  44.  
  45. FLEX_C_SOURCES = \
  46.     ccl.c \
  47.     dfa.c \
  48.     ecs.c \
  49.     gen.c \
  50.     main.c \
  51.     misc.c \
  52.     nfa.c \
  53.     parse.c \
  54.     scan.c \
  55.     sym.c \
  56.     tblcmp.c \
  57.     yylex.c
  58.  
  59. flex : $(FLEXOBJS)
  60.     $(CC) $(CFLAGS) -o flex $(LDFLAGS) $(FLEXOBJS)
  61.  
  62. first_flex:
  63.     cp initscan.c scan.c
  64.     make $(MFLAGS) flex
  65.  
  66. parse.h parse.c : parse.y
  67.     $(YACC) -d parse.y
  68.     @mv y.tab.c parse.c
  69.     @mv y.tab.h parse.h
  70.  
  71. scan.c : scan.l
  72.     $(FLEX) -ist $(FLEX_FLAGS) scan.l >scan.c
  73.  
  74. scan.o : scan.c parse.h
  75.  
  76. main.o : main.c
  77.     $(CC) $(CFLAGS) -c $(SKELFLAGS) main.c
  78.  
  79. flex.man : flex.1
  80.     nroff -man flex.1 >flex.man
  81.  
  82. lint : $(FLEX_C_SOURCES)
  83.     lint $(FLEX_C_SOURCES) > flex.lint
  84.  
  85. distrib :
  86.     mv scan.c initscan.c
  87.     chmod 444 initscan.c
  88.     $(MAKE) $(MFLAGS) clean
  89.  
  90. clean :
  91.     rm -f core errs flex *.o parse.c *.lint parse.h flex.man tags
  92.  
  93. tags :
  94.     ctags $(FLEX_C_SOURCES)
  95.  
  96. vms :    flex.man
  97.     $(MAKE) $(MFLAGS) distrib
  98.  
  99. test :
  100.     $(FLEX) -ist $(FLEX_FLAGS) scan.l | diff scan.c -
  101.